hvm rombios: Fix int15, func 0x86 (udelay).
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Tue, 24 Apr 2007 11:13:58 +0000 (12:13 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Tue, 24 Apr 2007 11:13:58 +0000 (12:13 +0100)
Was reading argument from wrong stack location with recent versions of
bcc. Doing the access from [bp] rather than [sp] is safer as the
former does not change all the time.
Signed-off-by: Keir Fraser <keir@xensource.com>
tools/firmware/rombios/rombios.c

index eb288a80fa82200c784974d8a141554124de58c8..193c7cb456352140f17937f03a463abe36a1f1fa 100644 (file)
@@ -4157,15 +4157,12 @@ BX_DEBUG_INT15("int15 AX=%04x\n",regs.u.r16.ax);
       DX = regs.u.r16.dx;
 
 ASM_START
-      sti
-
       ;; Get the count in eax
-      mov  bx, sp
       SEG SS
-        mov  ax, _int15_function.CX [bx]
+        mov  ax, .int15_function32.CX [bp]
       shl  eax, #16
       SEG SS
-        mov  ax, _int15_function.DX [bx]
+        mov  ax, .int15_function32.DX [bp]
 
       ;; convert to numbers of 15usec ticks
       mov ebx, #15